package cn.wolfcode.luowowo.service;

import cn.wolfcode.luowowo.domain.UserInfo;

import java.util.List;

public interface IUserInfoService {

    /**
     * 获取单个用户信息
     * @param id
     * @return
     */
    UserInfo get(String id);

    /**
     * 通过手机号获取用户信息
     * @param phone
     * @return
     */
    UserInfo checkPhone(String phone);


    /**
     * 发送短信以及缓存验证码数据到redis
     * @param phone     需要发送的手机号
     * @param smsUrl    第三方短信平台的url
     * @param smsAppKey 第三方短信平台给的appkey
     */
    void sendVerifyCode(String phone,String smsUrl,String smsAppKey);

    /**
     * 注册用户数据保存操作
     * @param phone
     * @param nickname
     * @param password
     * @param rpassword
     * @param verifyCode
     */
    void save(String phone, String nickname, String password, String rpassword, String verifyCode);

    /**
     * 用户登录操作
     * @param username
     * @param password
     */
    UserInfo userLogin(String username, String password);

    /**
     * 查询所有的用户信息
     * @return
     */
    List<UserInfo> list();

    /**
     * 通过目的地名称查找用户所在城市相同的用户信息
     * @param keyword
     * @return
     */
    List<UserInfo> getByCity(String keyword);

}
